package com.coolingme.general;

import java.util.Random;

/**
 * 委派者角色：负责在各个具体角色实例之间做出决策，并判断调用具体实现的方法
 *
 * @author wangyue
 * @date 2020/9/21 10:15
 */
public class Delegate implements ITask {
    @Override
    public void doTask() {
        System.out.println("委派执行开始");

        ITask task = null;
        if (new Random().nextBoolean()) {
            task = new ConcreteA();
        } else {
            task = new ConcreteB();
        }
        task.doTask();

        System.out.println("委派执行结束");
    }
}
